package com.lonewalker.sparrow.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.lonewalker.sparrow.entity.SysUser;
import com.lonewalker.sparrow.req.UserQueryReq;
import com.lonewalker.sparrow.req.UserReq;
import com.lonewalker.sparrow.vo.SysUserVo;

import java.util.List;

/**
 * 用户信息表 服务层。
 *
 * @author lonewalker
 * @since 1.0
 */
public interface UserService extends IService<SysUser> {
    /**
     * 保存用户数据
     *
     * @param requestParam 请求参数
     * @return {@code true} 添加成功，{@code false} 添加失败
     */
    Boolean saveUser(UserReq requestParam);
    /**
     * 根据主键更新用户信息
     *
     * @param requestParam 相关参数
     * @return {@code true} 更新成功，{@code false} 更新失败
     */
    Boolean updateById(UserReq requestParam);

    /**
     * 查询所有有效的用户数据
     *
     * @return SysUserVo
     */
    List<SysUserVo> listUser();

    /**
     * 分页查询用户数据
     *
     * @param requestParam 请求参数
     * @return SysUserVo
     */
    Page<SysUserVo> pageUser(UserQueryReq requestParam);
}
